package cn.com.surker.production.entity;

import cn.com.surker.base.BaseEntity;
import cn.com.surker.enums.StateEnum;
import cn.com.surker.excel.ExcelCell;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 生产运输日报表
 * </p>
 *
 * @author admin
 * @since 2024-12-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("production_tran_day_price")
public class TranDayPrice extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	public TranDayPrice() {
	}

	public TranDayPrice(Long orgId, String day, Long tranConId, Integer tranType, Integer countType, Integer carModelType, Integer roadType, Integer overLimit,
						Integer priceType, Double distance, Double price, Double oilPrice, Double stere, Double weight, Double totalPrice, Long invoiceId, Integer isAuto) {
		this.orgId = orgId;
		this.day = day;
		this.tranConId = tranConId;
		this.tranType = tranType;
		this.countType = countType;
		this.carModelType = carModelType;
		this.roadType = roadType;
		this.overLimit = overLimit;
		this.priceType = priceType;
		this.price = price;
		this.oilPrice = oilPrice;
		this.stere = stere;
		this.weight = weight;
		this.distance = distance;
		this.totalPrice = totalPrice;
		this.invoiceId = invoiceId;
		this.isAuto = isAuto;
		this.status = StateEnum.ENABLED.getCode();
	}

	/**
	 * 标识
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	/**
	 * 公司ID
	 */
	private Long orgId;

	/**
	 * 日期
	 */
	private String day;

	/**
	 * 生产运输合同ID
	 */
	private Long tranConId;

	/**
	 * 运输类型(发货单中砼标号的运输类型)
	 */
	private Integer tranType;

	/**
	 * 计量方式
	 */
	private Integer countType;

	/**
	 * 车辆类型
	 */
	private Integer carModelType;

	/**
	 * 道路类型
	 */
	private Integer roadType;

	/**
	 * 是否经过超限站
	 */
	private Integer overLimit;

	/**
	 * 价格类型(基础价,补贴)
	 */
	private Integer priceType;

	/**
	 * 运输单价(基础单价)
	 */
	@ExcelCell(value = "单价", sort = 17)
	private Double price;

	/**
	 * 油价
	 */
	@ExcelCell(value = "油价", sort = 18)
	private Double oilPrice;

	/**
	 * 运输方量
	 */
	private Double stere;

	private Double billStere;

	/**
	 * 运输距离
	 */
	@ExcelCell(value = "运距", sort = 6)
	private Double distance;

	/**
	 * 吨位
	 */
	private Double weight;

	/**
	 * 运输总价
	 */
	@ExcelCell(value = "总价", sort = 19)
	private Double totalPrice;

	/**
	 * 发货单id
	 */
	private Long invoiceId;

	/**
	 * 泵送量差
	 */
	private Double diffValue;

	/**
	 * 量差原因
	 */
	private String diffRemark;

	/**
	 * 是否结算
	 */
	private Integer isBill;

	/**
	 * 是否人工
	 */
	private Integer isAuto;

	/**
	 * 含税运输单价
	 */
	private Double taxPrice;
	/**
	 * 含税运输总价
	 */
	private Double taxTotalPrice;

	/**
	 * 销售合同id
	 */
	private Long saleConId;

}
